import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { Post } from './post.entity';
import { User } from './user.entity';

@Entity('message')
export class Message {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  content: string;

  @Column({
    type: 'timestamp',
    default: () => 'CURRENT_TIMESTAMP',
  })
  createdAt: Date;

  // 多对一关系：多个评论属于一篇文章
  @ManyToOne(() => Post, (post) => post.messages, {
    onDelete: 'CASCADE', // 当文章被删除时，相关评论也会被级联删除
  })
  post: Post;

  // 多对一关系：多个评论由一个用户创建
  @ManyToOne(() => User, (user) => user.messages, {
    eager: true, // 加载评论时自动加载用户信息
  })
  user: User;
}